reflecting the EfficientAD integration, performance work, calibration, localization, Autopilot support, and testing fixes - #166
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🔗 Related Issue
Fixes #
📝 Description
This PR adds EfficientAD support to AnomaVision and integrates it into the existing anomaly-detection pipeline alongside PaDiM and PatchCore.
🚀 EfficientAD
Added EfficientAD as a supported anomaly-detection algorithm.
Integrated EfficientAD with the existing algorithm abstraction used by PaDiM/PatchCore.
Reused the existing AnomaVision data loading and preprocessing pipeline.
Added batched training/inference to avoid unnecessary repeated computation.
Optimized teacher feature extraction and removed unnecessary inference-time computation.
Added calibrated anomaly thresholds based on normal training images only.
Added anomaly-map generation for pixel-level localization.
Reused the existing post-processing and visualization pipeline for:
🔌 Deployment & Export
📊 Production Autopilot
Restored and preserved the rich
production_autopilot_report.htmldashboard.Added EfficientAD to candidate comparison and model selection.
Report includes:
Restored the existing timing/performance summary in the detection pipeline.
🐛 Fixes
_format_metric.🔄 Type of Change
🧪 Hardware & Matrix Testing
I have successfully built and tested this code using
uvon:anomavision[cpu](Standard/Edge)anomavision[cu121](CUDA 12.1)anomavision[cu124](CUDA 12.4)anomavision[cu118](CUDA 11.8)Host OS used for testing:
🧪 Validation
uv run pytestsuite verified on all supported environments.✅ Developer Checklist
uv run pytestand all unit tests pass locally.pyproject.toml, I have runuv lock --python 3.10and committed the updateduv.lockfile.📸 Screenshots / Visual Proof
The Production Autopilot report now provides a rich HTML dashboard comparing PaDiM, PatchCore, and EfficientAD, including localization and deployment metrics.
Recommended screenshots:
production_autopilot_report.html